// Upgrade NOTE: commented out 'float4x4 _Object2World', a built-in variable
// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'


Shader  "Vert/GhostAdditive" {

	Properties
	 {
 _MainTex ("Texture", 2D) = "white" {}
 _Magnitude ("Distortion Magnitude", Float) = 1
 _Frequency ("Distortion Frequency", Float) = 1
 _Wavelength ("Distortion Wavelength", Float) = 1
 _Blend ("_Blend", Float) = 1
}

	

	SubShader
     {
  Tags { "QUEUE"="Transparent" "RenderType"="Transparent" }
  ZWrite Off
  Blend One One

    LOD 100
	Pass
	{

	CGPROGRAM
	#pragma vertex vert
	#pragma fragment frag
	#include "UnityCG.cginc"

	struct VertexInput {
    fixed4 vertex : POSITION;
	fixed2 xlv_TEXCOORD0 : TEXCOORD0;
    //fixed2 xlv_TEXCOORD1 : TEXCOORD1;
    //fixed3 xlv_TEXCOORD2 : TEXCOORD2;
    //fixed3 xlv_TEXCOORD3 : TEXCOORD3;
    //fixed4 tangent : TANGENT;
    fixed3 normal : NORMAL;
    fixed3 xlv_COLOR0 : COLOR;
	//VertexInput
	};

	struct VertexOutput {
	fixed4 pos : SV_POSITION;
    UNITY_FOG_COORDS(1)
    fixed3 xlv_COLOR0 : COLOR;
	fixed2 xlv_TEXCOORD0 : TEXCOORD0;
    //fixed2 xlv_TEXCOORD1 : TEXCOORD1;
    //fixed3 xlv_TEXCOORD2 : TEXCOORD2;
    //fixed3 xlv_TEXCOORD3 : TEXCOORD3;
	//VertexOutput
	};

 
 // float4x4 _Object2World;
 float4 _MainTex_ST;
 float _Magnitude;
 float _Frequency;
 float _Wavelength;
 

 sampler2D _MainTex;
 float _Blend;
 

	VertexOutput vert (VertexInput v)
	{
	VertexOutput o;
	//o.pos = UnityObjectToClipPos (v.vertex);
	//o.xlv_TEXCOORD0 = TRANSFORM_TEX(v.xlv_TEXCOORD0, _MainTex);
	
  half2 tmpvar_1;
  float tmpvar_2;
  tmpvar_2 = ((sin(
    ((mul(unity_ObjectToWorld , v.vertex).x / _Wavelength) + (_Frequency * _Time.x))
  ) * _Magnitude) * v.xlv_COLOR0.x);
  float4 tmpvar_3;
  tmpvar_3.zw = fixed2(0.0, 0.0);
  tmpvar_3.x = tmpvar_2;
  tmpvar_3.y = tmpvar_2;
  float2 tmpvar_4;
  tmpvar_4 = ((v.xlv_TEXCOORD0 * _MainTex_ST.xy) + _MainTex_ST.zw);
  tmpvar_1 = tmpvar_4;
  o.pos = UnityObjectToClipPos( v.vertex) + tmpvar_3;
  o.xlv_COLOR0 = v.xlv_COLOR0;
  o.xlv_TEXCOORD0 = tmpvar_1;

    UNITY_TRANSFER_FOG(o,o.vertex);
   
	return o;
	}


	fixed4 frag(VertexOutput i) : SV_Target
    {
    //fixed4 tmpvar_2 = tex2D(_MainTex, i.uv);
	
  float4 tmpvar_1;
  fixed4 col_2;
  fixed4 tmpvar_3;
  tmpvar_3 = tex2D (_MainTex,i.xlv_TEXCOORD0);
	UNITY_APPLY_FOG(i.fogCoord, tmpvar_3);
  float4 tmpvar_4;
  tmpvar_4 = (tmpvar_3 * _Blend);
  col_2 = tmpvar_4;
  tmpvar_1 = col_2;
  return tmpvar_1;

	}
	ENDCG
	}
  }
		Fallback "Diffuse"
}

